|
In mathematics, and in particular in combinatorics, the combinatorial number system of degree ''k'' (for some positive integer ''k''), also referred to as combinadics, is a correspondence between natural numbers (taken to include 0) ''N'' and ''k''-combinations, represented as strictly decreasing sequences ''c''''k'' > ... > ''c''2 > ''c''1 ≥ 0. Since the latter are strings of numbers, one can view this as a kind of numeral system for representing ''N'', although the main utility is representing a ''k''-combination by ''N'' rather than the other way around. Distinct numbers correspond to distinct ''k''-combinations, and produce them in lexicographic order; moreover the numbers less than correspond to all ''k''-combinations of }. The correspondence does not depend on the size ''n'' of the set that the ''k''-combinations are taken from, so it can be interpreted as a map from N to the ''k''-combinations taken from N; in this view the correspondence is a bijection. The number ''N'' corresponding to (''c''''k'',...,''c''2,''c''1) is given by : The fact that a unique sequence so corresponds to any number ''N'' was observed by D.H. Lehmer.〔''Applied Combinatorial Mathematics'', Ed. E. F. Beckenbach (1964), pp.27−30.〕 Indeed a greedy algorithm finds the ''k''-combination corresponding to ''N'': take ''c''''k'' maximal with , then take ''c''''k'' − 1 maximal with , and so forth. Finding the number ''N'', using the formula above, from the ''k''-combination (''c''''k'',...,''c''2,''c''1) is also known as "ranking", and the opposite operation (given by the greedy algorithm) as "unranking"; these operations are known by those names in most Computer algebra systems, and in computational mathematics.〔http://www.site.uottawa.ca/~lucia/courses/5165-09/GenCombObj.pdf〕〔http://www.sagemath.org/doc/reference/sage/combinat/subset.html〕 The originally used term "combinatorial representation of integers" is shortened to "combinatorial number system" by Knuth,〔.〕 who also gives a much older reference; the term "combinadic" is introduced by James McCaffrey (without reference to previous terminology or work). Unlike the factorial number system, the combinatorial number system of degree ''k'' is not a mixed radix system: the part of the number ''N'' represented by a "digit" ''c''''i'' is not obtained from it by simply multiplying by a place value. The main application of the combinatorial number system is that it allows rapid computation of the ''k''-combination that is at a given position in the lexicographic ordering, without having to explicitly list the ''k''-combinations preceding it; this allows for instance random generation of ''k''-combinations of a given set. Enumeration of ''k''-combinations has many applications, among which software testing, sampling, quality control, and the analysis of lottery games. == Ordering combinations == A ''k''-combination of a set ''S'' is a subset of ''S'' with ''k'' (distinct) elements. The main purpose of the combinatorial number system is to provide a representation, each by a single number, of all possible ''k''-combinations of a set ''S'' of ''n'' elements. Choosing, for any ''n'', } as such a set, it can be arranged that the representation of a given ''k''-combination ''C'' is independent of the value of ''n'' (although ''n'' must of course be sufficiently large); in other words considering ''C'' as a subset of a larger set by increasing ''n'' will not change the number that represents ''C''. Thus for the combinatorial number system one just considers ''C'' as a ''k''-combination of the set N of all natural numbers, without explicitly mentioning ''n''. In order to ensure that the numbers representing the ''k''-combinations of } are less than those representing ''k''-combinations not contained in }, the ''k''-combinations must be ordered in such a way that their largest elements are compared first. The most natural ordering that has this property is lexicographic ordering of the ''decreasing'' sequence of their elements. So comparing the 5-combinations ''C'' = and ''C'' : (this associates distinct numbers to ''all'' finite sets of natural numbers); then comparison of ''k''-combinations can be done by comparing the associated binary numbers. In the example ''C'' and ''C'' 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Combinatorial number system」の詳細全文を読む スポンサード リンク
|